<?php
namespace Swiftx\Bundle\WeChat\Model;
use Swiftx\Component\Orm\Entity;

/**
 * 管理员模型实现类
 */
class User extends Entity {

    /**
     * 对象主键
     * @var int
     * @orm constraint primary
     * @orm constraint no-null
     * @orm constraint unsigned
     * @orm type int(10)
     * @orm column ID
     */
    protected $id;

    /**
     * 用户账号
     * @var string
     * @orm constraint unique
     * @orm type varchar(100)
     * @orm column Username
     */
    protected $username;

    /**
     * 登陆密码
     * @var string
     * @orm type varchar(100)
     * @orm column Password
     */
    protected $password;

    /**
     * 用户头像
     * @var string
     * @orm type varchar(100)
     * @orm column HeadImage
     */
    protected $headImage;

    /**
     * 用户昵称
     * @var string
     * @orm type varchar(100)
     * @orm column NickName
     */
    protected $nickName;

    /**
     * 读取主键
     * @return int
     */
    public function getID():int {
        return $this->id;
    }

    /**
     * 读取用户名
     * @return string
     */
    public function getUsername():string {
        return $this->username;
    }

    /**
     * 设置用户名
     * @param string $value
     */
    public function setUsername(string $value){
        $this->username = $value;
    }

    /**
     * 设置密码
     * @param string $value
     */
    public function setPassword(string $value){
        $this->password = md5($value);
    }

    /**
     * 校验密码
     * @param string $value
     * @return bool
     */
    public function checkPassword(string $value):bool {
        return $this->password == md5($value);
    }

    /**
     * 获取用户头像
     * @return string
     */
    public function getHeadImage():string{
        // TODO: Implement getHeadImage() method.
    }

    /**
     * 获取用户昵称
     * @return string
     */
    public function getNickName():string{
        return $this->nickName;
    }

}